package com.huabo.contract.oracle.entity;

import java.math.BigDecimal;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Transient;

/**
 * <p>
 * 
 * </p>
 *
 * @author huabo
 * @since 2022-03-18
 */
@Data
  @EqualsAndHashCode(callSuper = false)
    @TableName("TBL_LEGAL_LITIGATIONSETTLEMENT")
@ApiModel(value="TblLegalLitigationsettlement对象", description="")
public class TblLegalLitigationsettlement implements Serializable {
//法务管理-诉讼过程-新建接口
    private static final long serialVersionUID = 1L;

      @TableId("LITIGATIONID")
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY,generator = "select HIBERNATE_SEQUENCE.nextval from dual")
      private Integer litigationid;

    @TableField("FIRSTCOURT")//案件名称。必填
    private String firstcourt;

    @TableField("PRESIDINGJUDGE")//审判长
    private String presidingjudge;

    @TableField("COLLEGIALPANEL")//合议庭组成
    private String collegialpanel;

    @TableField("LITIGATIONAMOUNT")//诉讼金额
    private BigDecimal litigationamount;

    @TableField("DEALDATE")//诉讼受理日期
    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date dealdate;

    @TableField("FIRSTHEARINGDATE")
    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date firsthearingdate;//首次开庭日期

    @TableField("LITIGATIONENDDATE")
    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date litigationenddate;//結案日期

    @TableField("LITIGATIONRESULT")//谈判结果
    private String litigationresult;

    @TableField("CREATESTAFF")
    private BigDecimal createstaff;

    @TableField("CREATETIME")
    private LocalDateTime createtime;

    @TableField("LINKORG")
    private BigDecimal linkorg;

    @TableField("LITISTATUS")
    private BigDecimal litistatus;

    @TableField("ACTIONOBJECT")//诉讼标的物
    private String actionobject;

    @TableField("ISEFFECT")//判决是否生效：1是，2否
    private BigDecimal iseffect;

    @TableField("JUDGEMONEY")//判决金额
    private BigDecimal judgemoney;

    @TableField("DISPUTEINFO")
    private BigDecimal disputeinfo;

    @Transient
    private List<TblAttachment> attList;

    @Transient
    private TblLegalDisputregistration dispute;

//    @Transient
//    private String disputeitem;//隶属纠纷

    @Transient
    private String startdate;
    @Transient
    private String enddate;

    //映射TblLegalProceedingsrecord

    @Transient
    private Integer proceedid;
    @Transient//案号
    private String proceedno;
    @Transient//诉讼阶段
    private String porceedstage;
    @Transient//审理法院
    private String court;
    @Transient
    private String courtlink;
    @Transient
    private String courtcontact;
    @Transient
    @JSONField(format = "yyyy-MM-dd")
    private Date filingtime;
    @Transient
    @JSONField(format = "yyyy-MM-dd")
    private Date paymentremindtime;
    @Transient
    @JSONField(format = "yyyy-MM-dd")
    private Date openingtime;
    @Transient
    @JSONField(format = "yyyy-MM-dd")
    private Date judgetiem;
    @Transient
    private BigDecimal isexternallawyer;
    @Transient
    private String lawyearword;
    @Transient
    private String lawyearname;
    @Transient
    private String lawyearlink;
    @Transient
    private BigDecimal litigationinfo;
    @Transient
    private String negotiator;
    @Transient
    private String negotiatorlink;
    @Transient
    private String presedingjudge;
    @Transient
    private String casepromotion;
    @Transient
    private String existingdifficulties;
    @Transient
    private String measurespromote;


    //TblLegalDisputregistration
    @Transient
    private Integer disputeid;
    @Transient
    private String disputeno;//登记编号
    @Transient
    private BigDecimal disputestatus;
    @Transient//纠纷类型
    private String disputetype;
    @Transient
    private BigDecimal contractinfo;
    @Transient//争议焦点
    private String disputecours;
    @Transient//是否紧急：1是，2否
    private BigDecimal isuegent;
    @Transient//起诉类型：1起诉，2被诉
    private BigDecimal whethersued;
    @Transient
    private BigDecimal disputeundertaker;
    @Transient//办结时间
    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date lastdealdate;
    @Transient
    private String solutionsuggestions;//初步解决建议
    @Transient//原告
    private String plaintiff;
    @Transient//被告
    private String defendant;
    @Transient//代理律师
    private String attorney;
    @Transient//代理律师联系电话
    private String attorneyphont;
    @Transient
    private BigDecimal dispuinfo;
    @Transient
    private String disputeitem;//纠纷主题
    @Transient//是否聘请律师：1是，2否
    private BigDecimal isattorney;

    @ApiModelProperty(value = "贵安配合人员")
    @Transient
    private String coordination;

    @ApiModelProperty(value = "贵安纠纷登记-案由")
    @Transient
    private String casecause;

    @ApiModelProperty(value = "贵安纠纷登记-涉诉项目")
    @Transient
    private String ssproject;

    @ApiModelProperty(value = "贵安纠纷登记-管辖法院（仲裁机构）")
    @Transient
    private String courtfirst;



    @ApiModelProperty(value = "贵安纠纷登记-发生时间")
    @Transient
    @JSONField(format = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date occurrencetime;

    @ApiModelProperty(value = "贵安纠纷登记-涉及子公司")
    @Transient
    private String subsidiaries;

}
